# [1.6 Введение - Первоначальная настройка Git](https://git-scm.com/book/ru/v2/%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5-%D0%9F%D0%B5%D1%80%D0%B2%D0%BE%D0%BD%D0%B0%D1%87%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F-%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0-Git)

## Первоначальная настройка Git

В состав Git входит 
### утилита git config
, которая позволяет просматривать и настраивать параметры, контролирующие все аспекты работы Git, а также его внешний вид. Эти параметры могут быть сохранены в трёх местах:

- Файл /etc/gitconfig содержит значения, общие для всех пользователей системы и для всех их репозиториев. Если при запуске git config указать параметр --system, то параметры будут читаться и сохраняться именно в этот файл.

- Файл ~/.gitconfig или ~/.config/git/config хранит настройки конкретного пользователя. Этот файл используется при указании параметра --global.

- Файл config в каталоге Git (т.е. .git/config) репозитория, который вы используете в данный момент, хранит настройки конкретного репозитория.

Настройки на каждом следующем уровне подменяют настройки из предыдущих уровней, то есть значения в .git/config перекрывают соответствующие значения в /etc/gitconfig.

В системах семейства Windows Git ищет файл .gitconfig в каталоге $HOME (C:\Users\$USER для большинства пользователей). Кроме того, Git ищет файл /etc/gitconfig, но уже относительно корневого каталога MSys, который находится там, куда вы решили установить Git при запуске инсталлятора.

Если вы используете Git для Windows версии 2.х или новее, то так же обрабатывается файл конфигурации уровня системы, который имеет путь C:\Documents and Settings\All Users\Application Data\Git\config в Windows XP или C:\ProgramData\Git\config в Windows Vista и новее. Этот файл может быть изменён только командой 

    git config -f <file>
, запущенной с правами администратора.

Чтобы посмотреть все установленные настройки и узнать где именно они заданы, используйте команду:

    $ git config --list --show-origin
     
  
### Выбор редактора
Теперь, когда вы указали своё имя, самое время выбрать текстовый редактор, который будет использоваться, если будет нужно набрать сообщение в Git. По умолчанию Git использует стандартный редактор вашей системы, которым обычно является Vim. Если вы хотите использовать другой текстовый редактор, например, Emacs, можно проделать следующее:

    $ git config --global core.editor emacs
     
В системе Windows следует указывать полный путь к исполняемому файлу при установке другого текстового редактора по умолчанию. Пути могут отличаться в зависимости от того, как работает инсталлятор.

В случае с Notepad++, популярным редактором, скорее всего вы захотите установить 32-битную версию, так как 64-битная версия ещё не поддерживает все плагины. Если у вас 32-битная Windows или 64-битный редактор с 64-битной системой, то выполните следующее:

    $ git config --global core.editor "'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"
     

> Note
Vim, Emacs и Notepad++ — популярные текстовые редакторы, которые часто используются разработчиками как в Unix-подобных системах, таких как Linux и Mac, так и в Windows. Если вы используете другой редактор или его 32-битную версию, то обратитесь к разделу <a href="https://git-scm.com/book/ru/v2/ch00/r_core_editor" target="_blank">Команды git config core.editor</a> за дополнительными инструкциями как использовать его совместно с Git.

> Warning
В случае, если вы не установили свой редактор и не знакомы с Vim или Emacs, вы можете попасть в затруднительное положение, когда какой-либо из них будет запущен. Например, в Windows может произойти преждевременное прерывание команды Git при попытке вызова редактора.

| Редактор                                 | Команда                                  |
|------------------------------------------|------------------------------------------|
| <p class="tableblock" style="font-family: sans-serif; margin: 6px 0px 11px; font-size: 12px; line-height: 14.4px; box-sizing: border-box; text-indent: 0px;">Atom</p> | <p class="tableblock" style="font-family: sans-serif; margin: 6px 0px 11px; font-size: 12px; line-height: 14.4px; box-sizing: border-box; text-indent: 0px;"><code style="font-family: monospace; font-size: inherit; border-radius: 3px; display: inline; padding: 0px; margin-bottom: 1em; overflow: auto; line-height: inherit; color: rgb(51, 51, 51); background: rgb(238, 238, 238); border: 1px solid rgb(245, 245, 245); box-sizing: border-box; overflow-wrap: break-word; white-space: pre-wrap;">git config --global core.editor "atom --wait"</code></p> |
| <p class="tableblock" style="font-family: sans-serif; margin: 6px 0px 11px; font-size: 12px; line-height: 14.4px; box-sizing: border-box; text-indent: 0px;">BBEdit (Mac, with command line tools)</p> | <p class="tableblock" style="font-family: sans-serif; margin: 6px 0px 11px; font-size: 12px; line-height: 14.4px; box-sizing: border-box; text-indent: 0px;"><code style="font-family: monospace; font-size: inherit; border-radius: 3px; display: inline; padding: 0px; margin-bottom: 1em; overflow: auto; line-height: inherit; color: rgb(51, 51, 51); background: rgb(238, 238, 238); border: 1px solid rgb(245, 245, 245); box-sizing: border-box; overflow-wrap: break-word; white-space: pre-wrap;">git config --global core.editor "bbedit -w"</code></p> |
| <p class="tableblock" style="font-family: sans-serif; margin: 6px 0px 11px; font-size: 12px; line-height: 14.4px; box-sizing: border-box; text-indent: 0px;">Emacs</p> | <p class="tableblock" style="font-family: sans-serif; margin: 6px 0px 11px; font-size: 12px; line-height: 14.4px; box-sizing: border-box; text-indent: 0px;"><code style="font-family: monospace; font-size: inherit; border-radius: 3px; display: inline; padding: 0px; margin-bottom: 1em; overflow: auto; line-height: inherit; color: rgb(51, 51, 51); background: rgb(238, 238, 238); border: 1px solid rgb(245, 245, 245); box-sizing: border-box; overflow-wrap: break-word; white-space: pre-wrap;">git config --global core.editor emacs</code></p> |
| <p class="tableblock" style="font-family: sans-serif; margin: 6px 0px 11px; font-size: 12px; line-height: 14.4px; box-sizing: border-box; text-indent: 0px;">Gedit (Linux)</p> | <p class="tableblock" style="font-family: sans-serif; margin: 6px 0px 11px; font-size: 12px; line-height: 14.4px; box-sizing: border-box; text-indent: 0px;"><code style="font-family: monospace; font-size: inherit; border-radius: 3px; display: inline; padding: 0px; margin-bottom: 1em; overflow: auto; line-height: inherit; color: rgb(51, 51, 51); background: rgb(238, 238, 238); border: 1px solid rgb(245, 245, 245); box-sizing: border-box; overflow-wrap: break-word; white-space: pre-wrap;">git config --global core.editor "gedit --wait --new-window"</code></p> |
| <p class="tableblock cc_cursor" style="font-family: sans-serif; margin: 6px 0px 11px; font-size: 12px; line-height: 14.4px; box-sizing: border-box; text-indent: 0px;">Gvim (Windows 64-bit)</p> | <p class="tableblock" style="font-family: sans-serif; margin: 6px 0px 11px; font-size: 12px; line-height: 14.4px; box-sizing: border-box; text-indent: 0px;"><code style="font-family: monospace; font-size: inherit; border-radius: 3px; display: inline; padding: 0px; margin-bottom: 1em; overflow: auto; line-height: inherit; color: rgb(51, 51, 51); background: rgb(238, 238, 238); border: 1px solid rgb(245, 245, 245); box-sizing: border-box; overflow-wrap: break-word; white-space: pre-wrap;">git config --global core.editor "'C:\Program Files\Vim\vim72\gvim.exe' --nofork '%*'"</code><span> </span>(смотри примечание ниже)</p> |
| <p class="tableblock" style="font-family: sans-serif; margin: 6px 0px 11px; font-size: 12px; line-height: 14.4px; box-sizing: border-box; text-indent: 0px;">Kate (Linux)</p> | <p class="tableblock" style="font-family: sans-serif; margin: 6px 0px 11px; font-size: 12px; line-height: 14.4px; box-sizing: border-box; text-indent: 0px;"><code style="font-family: monospace; font-size: inherit; border-radius: 3px; display: inline; padding: 0px; margin-bottom: 1em; overflow: auto; line-height: inherit; color: rgb(51, 51, 51); background: rgb(238, 238, 238); border: 1px solid rgb(245, 245, 245); box-sizing: border-box; overflow-wrap: break-word; white-space: pre-wrap;">git config --global core.editor "kate"</code></p> |
| <p class="tableblock" style="font-family: sans-serif; margin: 6px 0px 11px; font-size: 12px; line-height: 14.4px; box-sizing: border-box; text-indent: 0px;">nano</p> | <p class="tableblock" style="font-family: sans-serif; margin: 6px 0px 11px; font-size: 12px; line-height: 14.4px; box-sizing: border-box; text-indent: 0px;"><code style="font-family: monospace; font-size: inherit; border-radius: 3px; display: inline; padding: 0px; margin-bottom: 1em; overflow: auto; line-height: inherit; color: rgb(51, 51, 51); background: rgb(238, 238, 238); border: 1px solid rgb(245, 245, 245); box-sizing: border-box; overflow-wrap: break-word; white-space: pre-wrap;">git config --global core.editor "nano -w"</code></p> |
| <p class="tableblock" style="font-family: sans-serif; margin: 6px 0px 11px; font-size: 12px; line-height: 14.4px; box-sizing: border-box; text-indent: 0px;">Notepad (Windows 64-bit)</p> | <p class="tableblock" style="font-family: sans-serif; margin: 6px 0px 11px; font-size: 12px; line-height: 14.4px; box-sizing: border-box; text-indent: 0px;"><code style="font-family: monospace; font-size: inherit; border-radius: 3px; display: inline; padding: 0px; margin-bottom: 1em; overflow: auto; line-height: inherit; color: rgb(51, 51, 51); background: rgb(238, 238, 238); border: 1px solid rgb(245, 245, 245); box-sizing: border-box; overflow-wrap: break-word; white-space: pre-wrap;">git config core.editor notepad</code></p> |
| <p class="tableblock" style="font-family: sans-serif; margin: 6px 0px 11px; font-size: 12px; line-height: 14.4px; box-sizing: border-box; text-indent: 0px;">Notepad++ (Windows 64-bit)</p> | <p class="tableblock" style="font-family: sans-serif; margin: 6px 0px 11px; font-size: 12px; line-height: 14.4px; box-sizing: border-box; text-indent: 0px;"><code style="font-family: monospace; font-size: inherit; border-radius: 3px; display: inline; padding: 0px; margin-bottom: 1em; overflow: auto; line-height: inherit; color: rgb(51, 51, 51); background: rgb(238, 238, 238); border: 1px solid rgb(245, 245, 245); box-sizing: border-box; overflow-wrap: break-word; white-space: pre-wrap;">git config --global core.editor "'C:\Program Files\Notepad++\notepad++.exe' -multiInst -notabbar -nosession -noPlugin"</code><span> </span>(смотри примечание ниже)</p> |
| <p class="tableblock" style="font-family: sans-serif; margin: 6px 0px 11px; font-size: 12px; line-height: 14.4px; box-sizing: border-box; text-indent: 0px;">Scratch (Linux)</p> | <p class="tableblock" style="font-family: sans-serif; margin: 6px 0px 11px; font-size: 12px; line-height: 14.4px; box-sizing: border-box; text-indent: 0px;"><code style="font-family: monospace; font-size: inherit; border-radius: 3px; display: inline; padding: 0px; margin-bottom: 1em; overflow: auto; line-height: inherit; color: rgb(51, 51, 51); background: rgb(238, 238, 238); border: 1px solid rgb(245, 245, 245); box-sizing: border-box; overflow-wrap: break-word; white-space: pre-wrap;">git config --global core.editor "scratch-text-editor"</code></p> |
| <p class="tableblock" style="font-family: sans-serif; margin: 6px 0px 11px; font-size: 12px; line-height: 14.4px; box-sizing: border-box; text-indent: 0px;">Sublime Text (macOS)</p> | <p class="tableblock" style="font-family: sans-serif; margin: 6px 0px 11px; font-size: 12px; line-height: 14.4px; box-sizing: border-box; text-indent: 0px;"><code style="font-family: monospace; font-size: inherit; border-radius: 3px; display: inline; padding: 0px; margin-bottom: 1em; overflow: auto; line-height: inherit; color: rgb(51, 51, 51); background: rgb(238, 238, 238); border: 1px solid rgb(245, 245, 245); box-sizing: border-box; overflow-wrap: break-word; white-space: pre-wrap;">git config --global core.editor "/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl --new-window --wait"</code></p> |
| <p class="tableblock" style="font-family: sans-serif; margin: 6px 0px 11px; font-size: 12px; line-height: 14.4px; box-sizing: border-box; text-indent: 0px;">Sublime Text (Windows 64-bit)</p> | <p class="tableblock" style="font-family: sans-serif; margin: 6px 0px 11px; font-size: 12px; line-height: 14.4px; box-sizing: border-box; text-indent: 0px;"><code style="font-family: monospace; font-size: inherit; border-radius: 3px; display: inline; padding: 0px; margin-bottom: 1em; overflow: auto; line-height: inherit; color: rgb(51, 51, 51); background: rgb(238, 238, 238); border: 1px solid rgb(245, 245, 245); box-sizing: border-box; overflow-wrap: break-word; white-space: pre-wrap;">git config --global core.editor "'C:\Program Files\Sublime Text 3\sublime_text.exe' -w"</code><span> </span>(смотри примечание ниже)</p> |
| <p class="tableblock" style="font-family: sans-serif; margin: 6px 0px 11px; font-size: 12px; line-height: 14.4px; box-sizing: border-box; text-indent: 0px;">TextEdit (macOS)</p> | <p class="tableblock" style="font-family: sans-serif; margin: 6px 0px 11px; font-size: 12px; line-height: 14.4px; box-sizing: border-box; text-indent: 0px;"><code style="font-family: monospace; font-size: inherit; border-radius: 3px; display: inline; padding: 0px; margin-bottom: 1em; overflow: auto; line-height: inherit; color: rgb(51, 51, 51); background: rgb(238, 238, 238); border: 1px solid rgb(245, 245, 245); box-sizing: border-box; overflow-wrap: break-word; white-space: pre-wrap;">git config --global --add core.editor "open -W -n"</code></p> |
| <p class="tableblock" style="font-family: sans-serif; margin: 6px 0px 11px; font-size: 12px; line-height: 14.4px; box-sizing: border-box; text-indent: 0px;">Textmate</p> | <p class="tableblock" style="font-family: sans-serif; margin: 6px 0px 11px; font-size: 12px; line-height: 14.4px; box-sizing: border-box; text-indent: 0px;"><code style="font-family: monospace; font-size: inherit; border-radius: 3px; display: inline; padding: 0px; margin-bottom: 1em; overflow: auto; line-height: inherit; color: rgb(51, 51, 51); background: rgb(238, 238, 238); border: 1px solid rgb(245, 245, 245); box-sizing: border-box; overflow-wrap: break-word; white-space: pre-wrap;">git config --global core.editor "mate -w"</code></p> |
| <p class="tableblock" style="font-family: sans-serif; margin: 6px 0px 11px; font-size: 12px; line-height: 14.4px; box-sizing: border-box; text-indent: 0px;">Textpad (Windows 64-bit)</p> | <p class="tableblock" style="font-family: sans-serif; margin: 6px 0px 11px; font-size: 12px; line-height: 14.4px; box-sizing: border-box; text-indent: 0px;"><code style="font-family: monospace; font-size: inherit; border-radius: 3px; display: inline; padding: 0px; margin-bottom: 1em; overflow: auto; line-height: inherit; color: rgb(51, 51, 51); background: rgb(238, 238, 238); border: 1px solid rgb(245, 245, 245); box-sizing: border-box; overflow-wrap: break-word; white-space: pre-wrap;">git config --global core.editor "'C:\Program Files\TextPad 5\TextPad.exe' -m</code><span> </span>(смотри примечание ниже)</p> |
| <p class="tableblock" style="font-family: sans-serif; margin: 6px 0px 11px; font-size: 12px; line-height: 14.4px; box-sizing: border-box; text-indent: 0px;">Vim</p> | <p class="tableblock" style="font-family: sans-serif; margin: 6px 0px 11px; font-size: 12px; line-height: 14.4px; box-sizing: border-box; text-indent: 0px;"><code style="font-family: monospace; font-size: inherit; border-radius: 3px; display: inline; padding: 0px; margin-bottom: 1em; overflow: auto; line-height: inherit; color: rgb(51, 51, 51); background: rgb(238, 238, 238); border: 1px solid rgb(245, 245, 245); box-sizing: border-box; overflow-wrap: break-word; white-space: pre-wrap;">git config --global core.editor "vim"</code></p> |
| <p class="tableblock" style="font-family: sans-serif; margin: 6px 0px 11px; font-size: 12px; line-height: 14.4px; box-sizing: border-box; text-indent: 0px;">Visual Studio Code</p> | <p class="tableblock" style="font-family: sans-serif; margin: 6px 0px 11px; font-size: 12px; line-height: 14.4px; box-sizing: border-box; text-indent: 0px;"><code style="font-family: monospace; font-size: inherit; border-radius: 3px; display: inline; padding: 0px; margin-bottom: 1em; overflow: auto; line-height: inherit; color: rgb(51, 51, 51); background: rgb(238, 238, 238); border: 1px solid rgb(245, 245, 245); box-sizing: border-box; overflow-wrap: break-word; white-space: pre-wrap;">git config --global core.editor "code --wait"</code></p> |
| <p class="tableblock" style="font-family: sans-serif; margin: 6px 0px 11px; font-size: 12px; line-height: 14.4px; box-sizing: border-box; text-indent: 0px;">VSCodium (Free/Libre Open Source Software Binaries of VSCode)</p> | <p class="tableblock" style="font-family: sans-serif; margin: 6px 0px 11px; font-size: 12px; line-height: 14.4px; box-sizing: border-box; text-indent: 0px;"><code style="font-family: monospace; font-size: inherit; border-radius: 3px; display: inline; padding: 0px; margin-bottom: 1em; overflow: auto; line-height: inherit; color: rgb(51, 51, 51); background: rgb(238, 238, 238); border: 1px solid rgb(245, 245, 245); box-sizing: border-box; overflow-wrap: break-word; white-space: pre-wrap;">git config --global core.editor "codium --wait"</code></p> |
| <p class="tableblock" style="font-family: sans-serif; margin: 6px 0px 11px; font-size: 12px; line-height: 14.4px; box-sizing: border-box; text-indent: 0px;">WordPad</p> | <p class="tableblock" style="font-family: sans-serif; margin: 6px 0px 11px; font-size: 12px; line-height: 14.4px; box-sizing: border-box; text-indent: 0px;"><code style="font-family: monospace; font-size: inherit; border-radius: 3px; display: inline; padding: 0px; margin-bottom: 1em; overflow: auto; line-height: inherit; color: rgb(51, 51, 51); background: rgb(238, 238, 238); border: 1px solid rgb(245, 245, 245); box-sizing: border-box; overflow-wrap: break-word; white-space: pre-wrap;">git config --global core.editor '"C:\Program Files\Windows NT\Accessories\wordpad.exe"'"</code></p> |
| <p class="tableblock" style="font-family: sans-serif; margin: 6px 0px 11px; font-size: 12px; line-height: 14.4px; box-sizing: border-box; text-indent: 0px;">Xi</p> | <p class="tableblock" style="font-family: sans-serif; margin: 6px 0px 11px; font-size: 12px; line-height: 14.4px; box-sizing: border-box; text-indent: 0px;"><code style="font-family: monospace; font-size: inherit; border-radius: 3px; display: inline; padding: 0px; margin-bottom: 1em; overflow: auto; line-height: inherit; color: rgb(51, 51, 51); background: rgb(238, 238, 238); border: 1px solid rgb(245, 245, 245); box-sizing: border-box; overflow-wrap: break-word; white-space: pre-wrap;">git config --global core.editor "xi --wait"</code></p> |

Проверка настроек
Если вы хотите проверить используемую конфигурацию, можете использовать команду git config --list, чтобы показать все настройки, которые Git найдёт:

    $ git config --list
    user.name=John Doe
    user.email=johndoe@example.com
    color.status=auto
    color.branch=auto
    color.interactive=auto
    color.diff=auto
    ...
Некоторые ключи (названия) настроек могут отображаться несколько раз, потому что Git читает настройки из разных файлов (например, из /etc/gitconfig и ~/.gitconfig). В таком случае Git использует последнее значение для каждого ключа.

Также вы можете проверить значение конкретного ключа, выполнив git config <key>:

    $ git config user.name
    John Doe
> Note
Так как Git читает значение настроек из нескольких файлов, возможна ситуация когда Git использует не то значение что вы ожидали. В таком случае вы можете спросить Git об origin этого значения. Git выведет имя файла, из которого значение для настройки было взято последним:

    $ git config --show-origin rerere.autoUpdate
    file:/home/johndoe/.gitconfig	false